package database.domain;

import database.util.UtilImages;

/**
 * @author Irene
 *
 */
public class Personaje extends DatoTabla{
	private final int id;//id clave primaria
	private final String nombre, ruta; // Nombre del personaje. Ruta a su imagen para mostrar en tienda
	private final int coste; //dinero que cuesta
	private final Modificadores modifBase; //modificadores iniciales del personaje
	private final Habilidad habiBase; //habilidad unica del personaje
	public Personaje(final int id, final String nombre, final String ruta, final int coste, final Modificadores modifBase, final Habilidad habiBase){
		this.id= id;
		this.nombre= nombre;
		this.ruta= ruta;
		this.coste= coste;
		this.modifBase= modifBase;
		this.habiBase= habiBase;
	}
	public String toString() {
		return "Personaje [id=" + id + ", nombre=" + nombre + ", ruta=" + ruta
				+ ", coste=" + coste + ", modifBase=" + modifBase
				+ ", habiBase=" + habiBase + "]";
	}
	public Habilidad getHabiBase() {
		return habiBase;
	}
	public int getId() {
		return id;
	}
	public String getNombre() {
		return nombre;
	}
	public String getRuta() {
		return ruta;
	}
	public int getCoste() {
		return coste;
	}
	public Modificadores getModifBase() {
		return modifBase;
	}
	public int getNumColumnas() {
		return 13;
	}
	//nombreColumnas= { "Pic", "Name", "Cost", "Habi.", "Cost SP", "Attack", "Def",
	//"Magi", "Res", "Speed", "Jump", "SP", "HP"};
	public Object getDato(int columna) {
		switch(columna){
		case 0: return (new UtilImages(getRuta(), "P")).getImagen();
		case 1: return nombre;
		case 2: return (Integer) coste;
		case 3: return habiBase.getNombre();
		case 4: return  (Integer)habiBase.getCoste();
		case 5: return  (Integer)modifBase.getAtaque();
		case 6: return  (Integer)modifBase.getDefensa();
		case 7: return  (Integer)modifBase.getMagia();
		case 8: return  (Integer)modifBase.getResistencia();
		case 9: return  (Integer)modifBase.getVelocidad();
		case 10: return  (Integer)modifBase.getSalto();
		case 11: return  (Integer)modifBase.getEstamina();
		case 12: return  (Integer)modifBase.getVida();
		default: return " ";
		}
	}
}
